Business process management (BPM) offers a programmatic structure for designing transactions and executing them using automated decisions, tasks and sequence flows. For example, an insurance company can use BPM to automate the steps involved in processing insurance claims. BPM solutions typically include a process definition tool, an engine that executes process definitions, and tools that aid process monitoring.
A process definition tool allows a process designer to specify a definition of a business process using a particular business process language. One exemplary language is the business process execution language (BPEL). BPEL is intended for business processes that interact with external entities through web service operations. BPEL's messaging facilities depend on the use of the web services description language (WSDL) to describe outgoing and incoming messages.
When a BPEL process is defined, it can be deployed as a web application using the Java 2 Enterprise Edition (J2EE) web services deployment model. A typical web services deployment model is tied to a specific application server to which the web application will be deployed. For example, jBPM BPEL, a tool used by JBoss division of Red Hat Inc., is operable with the JBoss Application Server version 4.0.3 but not with other application servers or other versions of the JBoss Application Server. This creates inconvenience and extra expenses for customers who either have to replace their existing application server or purchase a different BPM system that is operable with their existing application server.